/* 
 * index.php js file
 */
//Eventos
$().ready(function(){    
    $(".inputsSubmit").hover(function(){
      $(this).addClass("inputsSubmitHover");  
    },function(){
        $(this).removeClass("inputsSubmitHover");
    });
    
    $('.index_usuarioLogueado .index_desconectar').hover(function(){
        $(this).css("text-decoration","underline");
    },function(){
        $(this).css("text-decoration","none");
    })
    .click(function(){
        var respuesta = confirm("Desea cerrar su sesion?");
        if ( respuesta ){
            logout();
            controlarPagina();
        }
    });

    $.ajax({
              type: 'POST',
              url: 'php/MainController.php?accion=getUsuarioLogueado',
              data: null,
              dataType: 'json',
              success: setUsuarioLogueado
            });    
})

//Funciones
function login(){
    ocultarErrores();    
    namespace.aux.valorBotonOriginal = $('.inputsSubmit').attr("value");
    mostrarLoadingEnSubmit('inputsSubmit');
    
    var cadenasVacias   = "Debe ingresar usuario y contrase&#241;a";
    var loginIncorrecto = "Usuario y/o Contrase&#241;a invalida";
    
    var elUsuario = $('#usuario').val();
    var elPass = $('#password').val();
    
    if ( esCadenaVacia(elUsuario) || esCadenaVacia(elPass) ){
        $('.index_errores').html(cadenasVacias).fadeIn();
        ponerValorEnSubmit('inputsSubmit', namespace.aux.valorBotonOriginal);
        return;
    }   
    var usuario = new Usuario();
    usuario.nombreUsuario = elUsuario;
    usuario.password = elPass;
    
    $.ajax({
            type: 'POST',
            url: 'php/MainController.php?accion=login',
            data: usuario,
            dataType: 'json',
            success: responseLogIn
    });
}

function controlarPagina(){
    if ( namespace.usuario != undefined && namespace.usuario != null ){
        $('.index_loginContainer').hide();
        $('.index_usuarioLogueado').fadeIn();
        $('.index_usuarioLogueado .index_bienvenido').text("Bienvenido/a "+namespace.usuario.nombreUsuario);
    }else{
        $('.index_usuarioLogueado').hide();
        $('.index_loginContainer').fadeIn();        
    }
}

function limpiarInputs(){
    $('#usuario').val("");
    $('#password').val("");
}

function ocultarErrores(){
    $('.index_errores').text("").hide();
}

function logout(){    
    namespace.aux.valorBotonOriginal = $('.inputsSubmit').attr("value");
    mostrarLoadingEnSubmit('inputsSubmit');
    $.ajax({
            type: 'POST',
            url: 'php/MainController.php?accion=logout',
            data: null,
            dataType: 'json',
            success: responseLogOut
    });
}

function responseLogOut(data,a,b){
    ponerValorEnSubmit('inputsSubmit', namespace.aux.valorBotonOriginal);
    namespace.response = data;
    if ( namespace.response.success == "true" || namespace.response.success == true ){
        namespace.usuario = null; 
        limpiarInputs();
    }
    controlarPagina();
}

function responseLogIn(data,a,b){
    ponerValorEnSubmit('inputsSubmit', namespace.aux.valorBotonOriginal);
    namespace.response = data;
    
    if ( namespace.response.success == "false" || namespace.response.success == false ){
        namespace.usuario = null;
        $('.index_errores').text(namespace.response.msj).fadeIn();
    }else{        
        namespace.usuario = new Usuario();
        namespace.usuario.nombreUsuario = $('#usuario').val();
        limpiarInputs();
    }    
    controlarPagina();
}

function setUsuarioLogueado(data,a,b){
    if ( data.success == undefined ){
        namespace.usuario = data;
    }else{
        namespace.usuario = null;
    }
    controlarPagina();
}